﻿// -----------------------------------------------------------------------
// <copyright file="DisciplinaFormModel.cs" company="Storytelling">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace Storytelling.Modelos.VTR
{
    using System.ComponentModel.DataAnnotations;
    using Storytelling.Entidades.VTR;

    public class DisciplinaFormModel : InativoFormModel<Disciplina>
    {
        private string agrupamento;

        [Required]
        [Display(Name = "Descrição")]
        [StringLength(1000, MinimumLength = 5)]
        public virtual string Descricao
        {
            get { return Entidade.Descricao; }
            set { Entidade.Descricao = value; }
        }

        [Display(Name = "Privado")]
        public virtual bool Privado
        {
            get { return Entidade.Privado.HasValue ? (bool)Entidade.Privado : false; }
            set { Entidade.Privado = value; }
        }

        public virtual string Agrupamento
        {
            get
            {
                if (Entidade.Agrupamento != null && !string.IsNullOrEmpty(Entidade.Agrupamento.Nome))
                {
                    agrupamento = Entidade.Agrupamento.Nome;
                }
                else if (agrupamento == null)
                {
                    agrupamento = "";
                }
                return agrupamento;
            }
            set { agrupamento = value; }
        }

        [Display(Name = "Agrupamento")]
        public virtual long AgrupamentoValor
        {
            get { return Entidade.AgrupamentoId.HasValue ? Entidade.AgrupamentoId.Value : 0; }
            set { Entidade.AgrupamentoId = value > 0 ? (long?) value : null; }
        }
    }
}
